*********************************************
***          Advance Map Ver 1.92         ***
*********************************************
Dieses Programm ist fr das Editieren von Maps, Gehdaten, Blockdaten, Events und Wildepokemondaten.
Man kann diese Daten editieren oder dem Spiel neue Daten hinzufgen.
Es ist auch ein Blockeditor enthalten
AM luft mit allen Pokemon Roms der AdanceVersion, in allen sprachen.
Neu knnen auch die Daten der Weltkarte gendert werden.


!!!Achtung!!!
-------------
Bei dieser Version werden alle nderungen direkt ins Rom gespeichert!
Durch Speichern unter kann man die aktuelle Map in eine andere Datei speichern.
Die Datei wird zuerst erstellt, indem die aktuelle Datei kopiert wird.
Alle weiteren nderungen werden dann in die neue Datei gespeichert.


.:|WICHTIG|:.
-^-^-^-^-^-^-
Dieses Programm wurde von LU-HO Pok programmiert und ist somit Copyright by LU-HO Pok!
Dies wurde von Jiggly (programmierer von Goldmap 2 Beta) Officiel besttigt.
Wen ihr AM von wo anderst als direkt bei http://am160.no-ip.info, vom FWB(Filb's World Board), von www.LU-HO.ch.vu, ampage.no-ip.info oder von
www.romhackersworld.de.vu runtergeladen habt, richtet mir das Bitte per E-Mail aus!



*********************************************
***          Tastenkombinationen          ***
*********************************************
Im Men sind jeweils die Tastenkombinationen fr den entsprechenden Menpunkt Sichtbar.

In den folgenden Kapiteln werden die verschiedenen Mglichkeiten beim editieren der Map aufgezeigt.


Map Ansicht:
------------
Linke Maustaste		=> Aktueller Block zeichnen / Stempel einfgen
Mittlere Maustaste	=> Fllwerkzeug, alle zusammenhngenden Blcke mit dem aktuellen Block ersetzen.
Rechte Maustaste	=> Block unter Maus als aktueller Block auswhlen

Ctrl/Strg + Linke Maustaste	=> Nicht speziell, Aktueller Block zeichnen
Ctrl/Strg + Mittlere Maustaste	=> Fllwerkzeug, alle gleichen Blocks auf der Map(Auch nicht zusammenhngende) mit dem aktuellen Block ersetzen
Ctrl/Strg + Rechte Maustaste	=> Grosser Block auswhlen, beim klicken und fahren sieht man ein neues Fenster in dem der Stempel Block angezeigt wird.


Map Ansicht BlockPalette:
-------------------------
Linke Maustaste		=> Block unter Maus als aktueller Block auswhlen
Mittlere Maustaste	=> Block unter Maus als aktueller Block auswhlen
Rechte Maustaste	=> Block unter Maus als aktueller Block auswhlen

Ctrl/Strg + Linke Maustaste	=> Block unter Maus als aktueller Block auswhlen
Ctrl/Strg + Mittlere Maustaste	=> Block unter Maus als aktueller Block auswhlen
Ctrl/Strg + Rechte Maustaste	=> Grosser Block auswhlen, beim klicken und fahren sieht man ein neues Fenster in dem der Stempel Block angezeigt wird.


Gehdaten Ansicht:
-----------------
Linke Maustaste		=> Aktueller GehDatenBlock zeichnen
Mittlere Maustaste	=> Fllwerkzeug, alle zusammenhngenden GehDatenBlcke mit dem aktuellen GehDatenBlock ersetzen.
Rechte Maustaste	=> GehDatenBlock unter Maus als aktueller GehDatenBlock auswhlen

Ctrl/Strg + Linke Maustaste	=> Nicht speziell, Aktueller GehDatenBlock zeichnen
Ctrl/Strg + Mittlere Maustaste	=> Fllwerkzeug, alle gleichen GehDatenBlocks auf der Map(Auch nicht zusammenhngende) mit dem aktuellen GehDatenBlock ersetzen
Ctrl/Strg + Rechte Maustaste	=> GehDatenBlock unter Maus als aktueller GehDatenBlock auswhlen


Gehdaten Ansicht GehdatenPalette:
---------------------------------
Linke Maustaste		=> GehDatenBlock unter Maus als aktueller GehDatenBlock auswhlen
Mittlere Maustaste	=> GehDatenBlock unter Maus als aktueller GehDatenBlock auswhlen
Rechte Maustaste	=> GehDatenBlock unter Maus als aktueller GehDatenBlock auswhlen

Ctrl/Strg + Linke Maustaste	=> GehDatenBlock unter Maus als aktueller GehDatenBlock auswhlen
Ctrl/Strg + Mittlere Maustaste	=> GehDatenBlock unter Maus als aktueller GehDatenBlock auswhlen
Ctrl/Strg + Rechte Maustaste	=> GehDatenBlock unter Maus als aktueller GehDatenBlock auswhlen


Event Ansicht:
--------------
Linke Maustaste		=> Auswahl des obersten Events an dieser Stelle/verschieben
Mittlere Maustaste	=> Auswahl des obersten Events an dieser Stelle nicht verschieben
Rechte Maustaste	=> Auswahl des untersten Events an dieser Stelle/verschieben

Ctrl/Strg + Linke Maustaste	=> Auswahl des obersten Events an dieser Stelle/verschieben
Ctrl/Strg + Mittlere Maustaste	=> Auswahl des obersten Events an dieser Stelle nicht verschieben
Ctrl/Strg + Rechte Maustaste	=> Auswahl des untersten Events an dieser Stelle/verschieben

Linke Maustaste doppelklick	=> Auswahl des obersten Events an dieser Stelle und ffnen des Scriptes im Externen Programm
Mittlere Maustaste doppelklick	=> Auswahl des obersten Events an dieser Stelle und ffnen des Scriptes im Externen Programm
Rechte Maustaste doppelklick	=> Auswahl des untersten Events an dieser Stelle und ffnen des Scriptes im Externen Programm


*********************************************
***            Inhalt der inis            ***
*********************************************

AdvanceMap.ini:
--------------- 
Dise ini wurde komplet berarbeitet.
Nun steht fr jede Sprache Sprachspezifische einstellungen.
Weiter gibt es fr jedes Spiel R/S/E/FR/LG ein paar Speilspezifiesche einstellungen.
Und zum Schluss ist jeder bentigete Offset anhand eines Musters gespeichert.

Beispiel:
[MapBankHeader]
art=pointer
nach=80180068890B091808687047
spiele=BPR,BPG,BPE,AXP,AXV

Dies Bedeutet das nach den Bytes hinter "nach" der Pointer auf den MapHeader folgt.
Die Einstellungen gelten fr alle Spiele welche unter "spiele" aufgelistetsind.


Beispiel2;
[PokemonNamen]
inkSprache=1
art=pointer
vor=30B50025084CC8F7
spiele=AXPJ,AXVJ,AXPE,AXVE

[PokemonNamen2]
art=pointer
position=$000144
spiele=BPR,BPG,BPE,AXP,AXV

Hier hat es 2 Eintrge. Beim 1. werden in der "spiele"- Auflistung die Sprachabkrzung inbgriffen, weil "inkSprache" auf 1 gesetzt wurde.
Zudem ist hier der Pointer vor den unter "vor" beschriebenen Bytes.
Da mit diesem Eintrag nicht alle Spiele abgedekt sind, gibt es einen 2. Eintrag fr diesen Offset welche fr die andere Spiele gltig ist.
Nach dem 2.Eintrag befindet sich der Pointer an der unter "position" angegebenen Stelle im Rom.


Bei Hex Werten muss ein "$" davor stehen!


Main.ini
--------
Hier sind die Ordner mit den entsprechenden Maps aufgelistet.
Es knnen beliebig Viele neue Ordner erstelt werden.
Der Aufbau sieht so aus:

[<OrdnerName>]
1=<Bank>.<map>
2=<Bank>.<map>
3=<Bank>.<map>
4=<Bank>.<map>
5=<Bank>.<map>
...

Beispiel:
[0]
1=0.0
2=0.1
3=0.2
...

[1]
1=1.0
...

Die Ordnernamen drfen frei gendert werden;

Es gibt Ausnahmen in diesem Aufbau:
[<OrdnerName>]
1=<Frei whlbare Bezeihnung>
2=<Frei whlbare Bezeihnung>
...
Genaueres dazu unter Maps.ini


Maps.ini
--------
Hier sind die Maps aufgelistet, es erscheinen nur die,
welche in der liste der Ordner vorkommen.
[<Bank>.<map>]
Name=<Beschriftung>

[0.0]
Name=PETALBURG CITY

[1.0]
Name=Route 101

Wichtig:
Hier sollte man nur die 'Name'- Eigenschaft ndern.
Die Namensgebung des Eintrages "[0.0]" bezieht sich auf die Position im Mapheader,
wird dies gendert, funktionieren diese Maps nicht mehr!

Die Ausnahmen:
Hier muss fr ALLE Spielversionw, in allen Sprachen der Genaue Offset der Daten (MapFooder) angegeben werden.
Bei denen welchen Kein Offset angegeben wird, kann die map nicht geladen werden.

[<Frei whlbare Bezeihnung aus der Main.ini>]
Name=<Beschriftung>
<Genaue Spielbezeichnung>=<Offset>


Beispiel:
[UNKNOWN45] 
POKEMON SAPPAXPD=$2CA960 
name=Insel?


Tilesets.ini
------------
Die Tileset-Bilder werden ab der ver 1.30 aus dem spiel geladen.
Optional kann hier zu jedem Tileset(erstes Tileset ist 0) stehen wie viele Blocks es hat "Blocks=$90".
Es werden dann auch nur soviele Blcke aus dem Spiel geladen, das spart Arbeitsspeicher.
Wenn sich ein Tileset im oberen Teil befindet, hat es automatisch $200 Blcke(bzw. $280 in fr/lg).

[1]
Blocks=$90

...

[24]
Blocks=$87


Sprachen.ini
------------
Darin sind alle Sprachen aufgelistet, die zur verfgung stehen.
Beispiel:
[Sprachen]
1=Deutsch
2=English

Im UnterOrdner "Ini/Sprachen" hat es dann eine <Sprachbezeichnung>.ini-Datei, in welcher die Texte stehen.
Es knnen beliebig viele andere Sprachen hinzugefgt werden, beachten sie aber den "EndNutzer Vertrag".
Der "EndNutzer Vertrag" muss auch bersetzt werden und aschliessend mir zugeschickt, damit ich ihn Codiert ablegen kann.
Bevor ich dies getan habe, ich die Sprache nicht verfgbar....
Die Sprache ist unter "Einstellungen"->"Sprache" auswhlbar.

Die Sprache die bei Ihnen Verwendet wird, knnen Sie beim ersten start von AdvanceMap festlegen.

Die Dateien GehDaten.ini/AufgabenDaten.ini und andere wurden direkt in die Neue Sprachen ini's integriert.


*********************************************
***    AdvanceMapError Berschreibungen    ***
*********************************************

AdvanceMapError(1): Try to read at pos 0! Please contakt luhopoke@gmail.com
Er versucht an Position 0 im Rom daten zu lesen. (-> nicht erlaubt)

AdvanceMapError(2): Cannot read bytes behind end of file! Please contakt luhopoke@gmail.com
Er versucht nach dem Dateiende im Rom daten zu lesen. (-> nicht mglich)

AdvanceMapError(3): Cannot change bytes at pos 0! Please contakt luhopoke@gmail.com
Er versucht an Position 0 daten ins rom zu schreiben. (-> nicht erlaubt)

AdvanceMapError(4): Cannot change bytes behind end of file! Please contakt luhopoke@gmail.com
Er versucht nach dem Dateiende ins rom zu schreiben. (-> nicht mglich)

AdvanceMapError(5): The value at $XXXXXX is not a Pointer! Please contakt luhopoke@gmail.com
Der Wert am angegebenen Offset sollte ein Pointer sein, ist es aber nicht. (-> fehlerhafte Daten)

AdvanceMapError(6): Try to read more than 1023 Bytes a time! Please contakt luhopoke@gmail.com
Er versucht mit einer Speziellen Funktion mehr als 1023 Bytes zu lesen, das ist mit der funktion aber nicht mglich. (-> Bug in AdvanceMap)

AdvanceMapError(7): Try to save more than 1023 Bytes a time! Please contakt luhopoke@gmail.com
Er versucht mit einer Speziellen Funktion mehr als 1023 Bytes zu Schreiben, das ist mit der funktion aber nicht mglich. (-> Bug in AdvanceMap)

AdvanceMapError(8): Cannot read XX Bytes in a Array with the size of YY! Have read as much as possible. Please contakt luhopoke@gmail.com
Er versucht Count Bytes in ein Array zu laden das nur anz gross ist.  (-> Bug in AdvanceMap)

AdvanceMapError(9): Pleace Extract the gba file from your zip/rar archive and open the gba file.
Der Benutzer versucht eine zip oder rar datei zu ffnen. Das geht aber nicht. Der Benutzer wird aufgefordert die gba datei zu entpacken. (-> Benutzer macht was falsch^^)

AdvanceMapError(10): Cannot handle more then 60 MapNumbers per WorldMap. Please contakt luhopoke@gmail.com
Fehler im Weltkarten editor. Fr die noch inaktive Funktion "Weltkarten-Nr. zuordnen" (bei fr/lg). (-> wenn die bei jemandem Auftritt, muss ich der Weltkarten Edi etwas umprograammieren. Das sollte aber nicht geschehen^^)

AdvanceMapError(11): The File could not be open.
Wenn die Datei zum importieren von Daten nicht geffnet werden kann.

AdvanceMapError(12): Unknown Rom Type! This Rom cannot be edited with Advancemap.
Die geffnete Rom Datei ist kein untersttztes Spiel. Es knnen nur die Pokemon Spiele der Advance Generation bearbeitet werden.


*********************************************
***          Grsse/Danksagungen          ***
*********************************************
Der grsste Dank geht an:
BlueSonic(alias Jigglypuff) fr den Source von Goldmap2 Beta
und Jay, der ihn bermittelt hat.

Weitere grsse gehen an:
Tauwasser und F-Zero fr Ihre Tuts.
Mikaron fr seine Dienste.
Serwe der mich auf ein paar Ideen gebracht hat.
Mulle die mich auf einen Feher hinwies.
Scizz, Timhay, GruntZ, Ashly138, Usohachi, BlueSonic, Sylph, Liquid_Thunder, IIIMQIII, Netto-kun fr die bersetzungen der ini's.
Und natrlich Filb fr sein Board.
Ein Weiterer Dank geht an F-Zero der mir bei den Paletten fr die Sprites sehr geholfen hat.
Auch an dark01 geht fr seine hilfe bei den Sprites einen grossen Dank.
An evilboy geht ein Dank fr die Hilfe bei den FAQ's.
Nochmals ein dank geht an Scizz, dark01, BlueSonic und F-Zero fr die Betatests.
Aruka und perappu fr die Musiklisten Erweiterungen.
Ein grosser Dank geht an Mastermind_X welcher den Aufbau der Weltkarten Daten rausgefunden hat und mir bei der Umsetzung geholfen hat.
Einen grossen Dank an Tutti fr seine super Betatest-Leistung und die Erweiterung der Verhaltensbyteliste.
Tauwasser, Scizz, Satry, Ashly138, Anthony, wakachamo, HackMew, Christos, Martin, Sebbe17/Jungleman, 44tim44 fr die neuen bersetzungen der ini's.